#include<bits/stdc++.h>

using namespace std;
const int N=5e5+10;
int n,m,k,a[N];
bool lqq(int mid){
	int cnt=0,t=0;
	for(int i=0;i<m;i++){
		if(a[i]-t<mid)cnt++;
		else t=a[i];
	}
	if(n-t<mid)cnt++;
	return cnt<=k;
}
int main(){
	cin>>n>>m>>k;
	for(int i=0;i<m;i++)cin>>a[i];
	int l=0,r=n;
	while(l<r){
		int mid=l+r+1>>1;
		if(lqq(mid))l=mid;
		else r=mid-1;
	}
    cout<<l;
	return 0;
}
